/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pesistencia;

import BancoDados.BancoDados;
import Entidade.CidadeModel;
import java.sql.ResultSet;
import java.util.ArrayList;

/**
 *
 * @author Aluno
 */
public class CidadePersistencia {

     BancoDados bd;
      
  public ArrayList<CidadeModel> getListaProdutos() {
      
      
        try {
            ResultSet rs = bd
                    .consultar("SELECT * FROM cidade");
            ArrayList<CidadeModel> retorno = new ArrayList<>();
            while(rs.next()){
                
                CidadeModel p = new CidadeModel(rs.getInt("codCidade"), rs.getString("nome"),rs.getString("uf"));
                        retorno.add(p);
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public CidadePersistencia(BancoDados bd) {
        this.bd = bd;
    }

    public void cadastrar( CidadeModel cidadi) {
        try {
            bd.atualizar("INSERT INTO cidade (codCidade,nome,uf) VALUES ("+cidadi.getCodigo()+" ,'"+cidadi.getNome()+"' ,'"+cidadi.getUf()+"')");

            System.out.println("INSERT INTO cidade (codCidade,nome,uf) VALUES ("+cidadi.getCodigo()+" ,'"+cidadi.getNome()+"' ,'"+cidadi.getUf()+"')");
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }

    public  CidadeModel buscar(int codigo) {
        try {
            ResultSet rs = bd.consultar("SELECT * FROM cidade WHERE codCidade = "+codigo);
            rs.next();
             CidadeModel retorno;
            if(rs.getRow() == 0){
                retorno = null;
            } else {
                retorno = new CidadeModel(rs.getInt("codCidade"), rs.getString("nome"),rs.getString("uf"));
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }   
    
     public  CidadeModel buscarNome(String nomeCidade) {
        try {
            ResultSet rs = bd.consultar("SELECT * FROM cidade WHERE nome = '"+nomeCidade+"'");
            rs.next();
             CidadeModel retorno;
            if(rs.getRow() == 0){
                retorno = null;
            } else {
                retorno = new CidadeModel(rs.getInt("codCidade"), rs.getString("nome"),rs.getString("uf"));
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    } 
public  int buscarNome1(String codigo) {
        try {
            ResultSet rs = bd.consultar("SELECT * FROM cidade WHERE Nome = '"+codigo+"'");
            rs.next();
             CidadeModel retorno;
            if(rs.getRow() == 0){
                retorno = null;
            } else {
                retorno = new CidadeModel(rs.getInt("codCidade"), rs.getString("nome"),rs.getString("uf"));
            }
            return retorno.getCodigo();
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
        }
    } 
    public int recuperarUltimoCodigo() {
        try {
            ResultSet rs = bd.consultar("SELECT MAX(codCidade) FROM cidade");
            rs.next();
            int retorno;
            if(rs.getRow() == 0){
                retorno = 0;
            } else {
                retorno = rs.getInt("MAX(codCidade)");
            }
            return retorno;
        } catch (Exception e) {
            e.printStackTrace();
            return -1;
        }
    }

    public void excluir(CidadeModel cidade) {
        try {
            bd.atualizar("DELETE FROM cliente WHERE (codCliente = "+cidade.getCodigo()+")");

            System.out.println("DELETE FROM cliente WHERE (codCliente = "+cidade.getCodigo()+")");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
     
    
}
